package com.huike.business.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserInfoDTO {
    // 用户ID
    private String id;

    // 姓名
    @NotBlank(message = "姓名不能为空")
    @Size(max = 50, message = "姓名长度不能超过50个字符")
    private String name;

    // 手机号
    @NotBlank(message = "手机号不能为空")
    @Size(min = 11, max = 11, message = "手机号必须是11位数字")
    private String phone;

    // 职业（对应字典ID）
    private String occupation;

    // 学历（对应字典ID）
    private String education;

    // 省份
    private String provinces;

    // 城市
    private String city;

    // 微信号
    private String weixin;

    // 年龄
    private Integer age;

    // 专业（对应字典ID）
    private String major;

    // 职业（对应字典ID）
    private String job;

    // 薪资（对应字典ID）
    private String salary;

    // QQ号
    private String qq;

    // 性别（0-男，1-女）
    private String sex;

    // 目标薪资（对应字典ID）
    private String expectedSalary;

    // 备注信息
    private String remark;

    // 学科ID
    private String subject;

    // 学习原因
    private String reasons;

    // 职业计划
    private String plan;

    // 计划学习时间
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String planTime;

    // 课程ID
    private Integer courseId;

    // 其他意向
    private String otherIntention;

    // 跟进状态
    private String trackStatus;

    // 下次跟进时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private String nextTime;

    // 沟通重点（多个以逗号分隔）
    private String keyItems;

    // 沟通纪要
    private String record;

    // 创建人
    private String createBy;

    // 创建时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    // 渠道ID
    private String channel;

    // 活动ID
    private Integer activityId;

    // 商机ID
    private String businessId;
}
